STEP Release NotesJuly 17, 2003, version 1.0 |
|
Introduction --- What are new --- Installation --- How to use STEP --- Tool --- XSTEP --- Link |
STEP (Scripting Technology for Embodied Persona) is a scripting language for embodied agents, in particular for their communicative acts like gestures and postures. STEP will be extended for other communicative acts, like facial expression and speech. STEP has been implemented in the distributed logic programming language DLP, a tool for the implementation of 3D web agents
2. Set the humanoid object properties in the file 'stepsetting.pl' and compile it (i.e, execute
the commandline: dlpc stepsetting.pl) Suppose the humanoid's name is 'myhumanoid'. For humanoid-object
one, add the following line in the file:
3. Design your own STEP script actions and add them into your STEP libraries.
The name of the main script library is the file 'stepscriptlib.pl'.
Note that do not change the object name or the file name of the main script library.
You can design your own script libraries with your own library object names, like my_own_scritplib.
However, you have to add the following library claim for it in the main script library:
script(ScriptAction, Action):-
Note that you have to compile all of your own script libraries.
Due to the limit of the Java virtual machine, the size of each script library cannot be large than
64KB after the compiling. Split a large library into multiple ones.
You can use the STEP authoring tools to design and test your own script actions, then add them
into the library. You can also use the XSTEP editor to design the actions in XSTEP and transfer them
in STEP/DLP codes, then copy them into the library file.
4. Design your own DLP application. The file 'steptest.pl' is a template for it.
Script actions can be called by the following predicates:
process_script(ScriptAction): execute the script action ScriptAction in the library.
Note that all of the scripts/script actions must be instantated ones when they are called. Keep
the step_kernel in the heading of your application object. Keep the following lines in the beginning
of your applications
text_area(BrowserStream),
The first two lines initialize the dlpbrow object, the third one sets the number of the maximal
threads, and the last line initializes the parallel processing in STEP engine.
5. Design an html file to launch your own application applet. Do not forget to have step_engine.jar
in the archive statement in the html file. The file 'stepdemo.html' is a template for it.
top
The file 'stepjsi.jar' is the STEP interface for Javascripts. In Javascripts,
adding a line like this:
What are new in the release 1.0
par_turn(Agent,[body_direction(Body1,Direction1),...,body_direction(Bodym,Direcitonm)],Speed): uses
only one thread to achieve the parellel turn action:
par([turn(Agent,Body1,Direction1,Speed),...,turn(Agent,Bodym,Directionm,Speed)]).
Installation
How to use STEP in DLP
my_own_scriptlib <- script(ScriptAction,Action),!.
do_script(Script): execute the script Script.
set_output(BrowserStream),
set_max_threads(15),
script_threads,
STEP authoring tools
XSTEP
STEP interface for Javascripts
appletQueue( "term: command");
would call the STEP engine to execute certain tasks, where the command can be one of
the following methods.
STEP Script Libraries
The file steplib_touch.jar is a script library with the actions of touch based on inverse kinematics.
Library name: step_scriptlib_touch
Script actions:
touch_absolutePosition(Agent,position(X,Y,Z), Hand): The Agent would touch the position (X,Y,Z) with
a hand, where 'l' means the left hand, and 'r' means the right hand.
touch(Agent,position(X,Y,Z), Hand): The Agent would touch the position (X,Y,Z) which is relative to the body coordinate system with a hand.
touchValue(Agent,position(X,Y,Z), Hand, [ShoulderRotation,ElbowRotation,WristRotation]): Returning the rotation values
of the joints for the touch action (relative to the body coordinate).
Links
Update Records
What are new in the release 0.42 (April 2, 2003)
What are new in the release 0.41 (March 6, 2003)
What are new in the release 0.40 (Feb 4, 2003)
What are new in the release 0.38 (Septemper 24, 2002)
What are new in the release 0.37 (August 29, 2002)
What are new in the release 0.35 (June 13, 2002)
Contact Zhisheng Huang for comments, suggestions, or bug reporting.